package com.hanserwei.community.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hanserwei.community.entity.po.Complaint;
import com.hanserwei.community.entity.request.complaint.ComplaintQueryRequest;
import com.hanserwei.community.entity.request.complaint.ComplaintSaveRequest;
import com.hanserwei.community.entity.vo.ComplaintVO;

public interface ComplaintService extends IService<Complaint> {

    Page<ComplaintVO> pageComplaints(ComplaintQueryRequest request);

    ComplaintVO getComplaintDetail(Integer id);

    boolean createComplaint(ComplaintSaveRequest request);

    boolean updateComplaint(Integer id, ComplaintSaveRequest request);

    QueryWrapper<Complaint> buildQueryWrapper(ComplaintQueryRequest request);
}
